package com.show.mytest;

import java.util.ArrayList;
import java.util.Collection;

public class Test01_collection {
    public static void main(String[] args) {
        /*

            集合的概念
                * 就是一个容器，可以用来存储多个数据。
            ​
            数组和集合的区别
                * 数组的长度是不可变的，集合的长度是可变的。
                * 数组存储的数据类型是固定的，只能存储同一种数据类型，可以存储基本数据类型，也可以存储对象。
                * 集合可以存储多种数据类型的对象,集合只能存储对象。
            ​
            集合的分类
                * 单列集合：Collection集合
                * 双列集合：Map集合
            ​
            Collection集合概述
                * Collection是一个接口，Collection是所有单列集合的父类。
            ​
            Collection集合的继承体系
                * Collection
                     *  List：ArrayList和LinkedList
                     *  Set：HashSet 和 LinkedHashSet
            ​
            Collection接口常用方法
                *  boolean add(E e) 添加元素，成功返回true，否则返回false
                *  boolean  isEmpty() 判断集合是否为空，元素个数是否为0
                *  int  size() 获得集合元素个数
                *  Object[] toArray() 将集合转数组
                *  boolean  contains(Object o) 判断集合中是否包含指定的元素，包含返回true，否则false
                *  void clear(); 清空集合元素
                *  boolean remove(Object o) 删除集合中指定的元素，删除成功返回true，否则false
            ​
            ArrayList底层是数组。
        */
        //创建一个集合
        Collection<String> col = new ArrayList<>();
        boolean empty = col.isEmpty();  //判断是否为空
        System.out.println(empty);  //  true
        col.add("123");
        col.add("456");
        col.add("789");
        col.add("543");
        boolean contains = col.contains("123");     //判断是否包含"123"
        System.out.println(contains);   //true
        Object[] array = col.toArray();     //将集合转成数组
        System.out.println(array.length);   // 数组长度为4
        //调用clear方法清空集合
        col.clear();
        empty = col.isEmpty();      //true
    }
}
